<template>
  <div>
    <UploadExcel :on-success="onSuccess" />
  </div>
</template>

<script>
import { importEmployee } from "@/api/employees";
export default {
  name: "Import",
  components: {},
  props: {},
  data() {
    return {};
  },
  computed: {},
  watch: {},
  created() {},
  mounted() {},
  methods: {
    async onSuccess({ header, results }) {
      console.log(header, results);
      const userRelations = {
        入职日期: "timeOfEntry",
        手机号: "mobile",
        姓名: "username",
        转正日期: "correctionTime",
        工号: "workNumber"
      };
      const newArr = results.map(item => {
        // 需要将每一个条数据里面的中文都换成英文
        const userInfo = {};
        // item 就是每行的数据是对象
        // Object.keys(item)每行数据的所有键
        Object.keys(item).forEach(key => {
          if (
            userRelations[key] === "timeOfEntry" ||
            userRelations[key] === "correctionTime"
          ) {
            userInfo[userRelations[key]] = new Date(
              this.formatDate(item[key], "/")
            ); // 只有这样, 才能入库
            return;
          }
          // key是中文 而userRelationskey[key]就是英文
          // console.log(userRelations[key]) //新的英文键
          // console.log（item[key]) //属性值
          userInfo[userRelations[key]] = item[key];
        });
        return userInfo;
      });
      await importEmployee(newArr);
      this.$message.success("导入成功");
      this.$router.back(); // 回到上一页
    },
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1);
      time.setYear(time.getFullYear() - 70);
      const year = time.getFullYear() + "";
      const month = time.getMonth() + 1 + "";
      const date = time.getDate() - 1 + "";
      if (format && format.length === 1) {
        return year + format + month + format + date;
      }
      return (
        year +
        (month < 10 ? "0" + month : month) +
        (date < 10 ? "0" + date : date)
      );
    }
  }
};
</script>

<style lang="less" scoped></style>
